public com.aelitis.azureus.core.peermanager.messaging.Message[] removeDecodedMessages() {
    Message[] plug_msgs = plug_decoder.removeDecodedMessages();

    if (plug_msgs == null || plug_msgs.length < 1) {
      return null;
    }

    com.aelitis.azureus.core.peermanager.messaging.Message[] core_msgs =
        new com.aelitis.azureus.core.peermanager.messaging.Message[plug_msgs.length];

    for (int i = 0; i < plug_msgs.length; i++) {
      core_msgs[i] = new MessageAdapter(plug_msgs[i]);
    }

    return core_msgs;
  }
 public ByteBuffer destroy() {
   return plug_decoder.destroy();
 }
 public void resumeDecoding() {
   plug_decoder.resumeDecoding();
 }
 public void pauseDecoding() {
   plug_decoder.pauseDecoding();
 }
 public int getDataBytesDecoded() {
   return plug_decoder.getDataBytesDecoded();
 }
 public int getProtocolBytesDecoded() {
   return plug_decoder.getProtocolBytesDecoded();
 }
 public int performStreamDecode(
     com.aelitis.azureus.core.networkmanager.Transport transport, int max_bytes)
     throws IOException {
   return plug_decoder.performStreamDecode(new TransportImpl(transport), max_bytes);
 }