@Override
public byte[] serialize(Message payload) {
try {
ByteArrayDataOutput out = new ByteArrayDataOutputStream(outputStream.get());
out.writeByte(Message.classMap.inverse().get(payload.getClass()));
payload.write(out);
return out.toByteArray();
} catch (IOException e) {
log.error("Exception on serialize: " + e.getMessage(), e);
return new byte[]{};