docs: private void invoke(final Request<?> marshalledRequest, final Bootstrap b, final PutMediaResponseHandler responseHandler) throws InterruptedException {
          b.connect().addListener(new GenericFutureListener<ChannelFuture>() {
              @Override
              public void operationComplete(ChannelFuture future) throws Exception {
                  try {
                      Channel channel = future.channel();
  
                      HttpRequest request = RequestAdapter.adapt(marshalledRequest);
  
                      // Send request
                      channel.writeAndFlush(request);
  
                      // Send chunked content
                      channel.writeAndFlush(new HttpChunkedInput(new ChunkedStream(marshalledRequest.getContent())));
                  } catch (Exception e) {
                      responseHandler.onFailure(e);
                  }
              }
          });
      }