code: public ChannelFuture closeOutbound(final ChannelPromise promise) {
          final ChannelHandlerContext ctx = this.ctx;
          if (ctx.executor().inEventLoop()) {
              closeOutbound0(promise);
          } else {
              ctx.executor().execute(new Runnable() {
                  @Override
                  public void run() {
                      closeOutbound0(promise);
                  }
              });
          }
          return promise;
      }
docs: Sends an SSL {@code close_notify} message to the specified channel and
  destroys the underlying {@link SSLEngine}. This will <strong>not</strong> close the underlying
  {@link Channel}. If you want to also close the {@link Channel} use {@link Channel#close()} or
  {@link ChannelHandlerContext#close()}