code: public Future<Channel> renegotiate(final Promise<Channel> promise) {
          if (promise == null) {
              throw new NullPointerException("promise");
          }
  
          ChannelHandlerContext ctx = this.ctx;
          if (ctx == null) {
              throw new IllegalStateException();
          }
  
          EventExecutor executor = ctx.executor();
          if (!executor.inEventLoop()) {
              executor.execute(new Runnable() {
                  @Override
                  public void run() {
                      renegotiateOnEventLoop(promise);
                  }
              });
              return promise;
          }
  
          renegotiateOnEventLoop(promise);
          return promise;
      }
docs: Performs TLS renegotiation.