@Override public byte[] toByteArray() { ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream(); DataOutputStream dataStream = new DataOutputStream(arrayOutputStream); try { writeHeader(dataStream); dataStream.writeShort(peers.size()); for (Destination peer : peers) // write the first 384 bytes (the two public keys) dataStream.write(peer.toByteArray(), 0, 384); } catch (IOException e) { log.error("Can't write to ByteArrayOutputStream.", e); } return arrayOutputStream.toByteArray(); }