@Override
 public void write(Encoder encoder, Object[] value) throws Exception {
   Message.send(value, encoder.getOutputStream());
 }
 @Override
 public Object[] read(Decoder decoder) throws Exception {
   return (Object[]) Message.receive(decoder.getInputStream(), classLoader);
 }