code: @Override
      public DecodingState finishDecode(ProtocolDecoderOutput out) throws Exception {
          if (buffer == null) {
              return finishDecode(END_OF_STREAM_BUFFER, out);
          }
          else {
          	IoBufferEx product = buffer.flip();
              buffer = null;
              return finishDecode(product.asIoBuffer(), out);
          }
      }
docs: {@inheritDoc}