code: public void reset(Channel channel, ByteBuffer message, SocketAddress remoteAddress, boolean cancellable) {
  
          if (!future.isResetable()) {
              throw new IllegalStateException("Cannot reset message event before future has completed");
          }
  
          if (channel == null) {
              throw new NullPointerException("channel");
          }
          if (message == null) {
              throw new NullPointerException("message");
          }
          this.channel = channel;
          this.future.reset(channel, cancellable);
          // note: NETTY duplicates original ByteBuffer when converting ChannelBuffer to ByteBuffer
          //       instead, wrap with a non-duplicating ChannelBuffer
          this.message = channelBuf.wrap(message);
          if (remoteAddress != null) {
              this.remoteAddress = remoteAddress;
          } else {
              this.remoteAddress = channel.getRemoteAddress();
          }
      }
docs: Initializes the instance.