public void serialize(Header t, DataOutput dos) throws IOException { dos.writeUTF(t.getMessageId()); CompactEndPointSerializationHelper.serialize(t.getFrom(), dos); dos.writeUTF(t.getMessageType()); dos.writeUTF(t.getVerb()); /* Serialize the message header */ int size = t.details_.size(); dos.writeInt(size); Set<String> keys = t.details_.keySet(); for (String key : keys) { dos.writeUTF(key); byte[] value = t.details_.get(key); dos.writeInt(value.length); dos.write(value); } }