@Override
 public Object objectFromByteBuffer(byte[] buf, int offset, int length)
     throws IOException, ClassNotFoundException {
   ByteArrayInputStream is = new ByteArrayInputStream(buf, offset, length);
   ObjectInput unmarshaller = startObjectInput(is, false);
   Object o = null;
   try {
     o = objectFromObjectStream(unmarshaller);
   } finally {
     finishObjectInput(unmarshaller);
   }
   return o;
 }