### Question:
ConnectionId { public static ConnectionId random() { final byte[] id = new byte[LENGTH]; Rnd.rndBytes(id); return new ConnectionId(id); } ConnectionId(final byte[] id); static ConnectionId random(); static ConnectionId read(final int length, final ByteBuf bb); static Optional<ConnectionId> readOptional(final int length, final ByteBuf bb); static Pair<Optional<ConnectionId>, Optional<ConnectionId>> readPair(final ByteBuf bb); static int lastLength(final int cil); static void write(
      final Optional<ConnectionId> first, final Optional<ConnectionId> second, final ByteBuf bb); void write(final ByteBuf bb); int getLength(); byte[] asBytes(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString(); static final int LENGTH; }### Answer:
@Test public void roundtrip() { assertRoundtrip(ConnectionId.random()); }