@Override
    public void init(final ServerGremlinExecutor serverGremlinExecutor) {
        settings = serverGremlinExecutor.getSettings();
        gremlinExecutor = serverGremlinExecutor.getGremlinExecutor();
        graphManager = serverGremlinExecutor.getGraphManager();
        gremlinExecutorService = serverGremlinExecutor.getGremlinExecutorService();
        scheduledExecutorService = serverGremlinExecutor.getScheduledExecutorService();
        channels = serverGremlinExecutor.getChannels();

        // instantiate and configure the serializers that gremlin server will use - could error out here
        // and fail the server startup
        configureSerializers();

        // configure ssl if present
        if (settings.optionalSsl().isPresent() && settings.ssl.enabled) {
            if (settings.ssl.getSslContext().isPresent()) {
                logger.info("Using the SslContext override");
                this.sslContext = settings.ssl.getSslContext();
            } else {
                final SSLFactory sslFactory = createSSLFactoryBuilder(settings).withSwappableTrustMaterial().withSwappableIdentityMaterial().build();
                this.sslContext = Optional.of(createSSLContext(sslFactory));

                if (settings.ssl.refreshInterval > 0) {
                    // At the scheduled refreshInterval, check whether the keyStore or trustStore has been modified. If they were,
                    // reload the SSLFactory which will reload the underlying KeyManager/TrustManager that Netty SSLHandler uses.
                    scheduledExecutorService.scheduleAtFixedRate(
                            new SSLStoreFilesModificationWatcher(settings.ssl.keyStore, settings.ssl.trustStore, () -> {
                                SSLFactory newSslFactory = createSSLFactoryBuilder(settings).build();
                                try {
                                    SSLFactoryUtils.reload(sslFactory, newSslFactory);
                                } catch (RuntimeException e) {
                                    logger.error("Failed to reload SSLFactory", e);
                                }
                            }),
                            settings.ssl.refreshInterval, settings.ssl.refreshInterval, TimeUnit.MILLISECONDS
                    );
                }
            }
        } else {
            this.sslContext = Optional.empty();
        }

        if (sslContext.isPresent()) logger.info("SSL enabled");

        authenticator = createAuthenticator(settings.authentication);
        authorizer = createAuthorizer(settings.authorization);
    }
This method is called from within {@link #initChannel(SocketChannel)} just after the SSL handler is put in the pipeline.
Modify the pipeline as needed here.
gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/AbstractChannelizer.java