code: public static InternalProtocolNegotiator.ProtocolNegotiator tls(SslContext sslContext) {
      final io.grpc.netty.ProtocolNegotiator negotiator = ProtocolNegotiators.tls(sslContext);
      final class TlsNegotiator implements InternalProtocolNegotiator.ProtocolNegotiator {
  
        @Override
        public AsciiString scheme() {
          return negotiator.scheme();
        }
  
        @Override
        public ChannelHandler newHandler(GrpcHttp2ConnectionHandler grpcHandler) {
          return negotiator.newHandler(grpcHandler);
        }
  
        @Override
        public void close() {
          negotiator.close();
        }
      }
      
      return new TlsNegotiator();
    }
docs: Returns a {@link ProtocolNegotiator} that ensures the pipeline is set up so that TLS will
  be negotiated, the {@code handler} is added and writes to the {@link io.netty.channel.Channel}
  may happen immediately, even before the TLS Handshake is complete.