code: private ServerBootstrap getServerBootstrap(final boolean useSSL) {
  
          final CommandInvoker invoker = new CommandInvoker(pluginRepository, commandRepository, acceptParams, getExecutionContext());
  
          final ServerBootstrap serverBootstrap = new ServerBootstrap();
          serverBootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).childHandler(new ChannelInitializer<SocketChannel>() {
              @Override
              public void initChannel(final SocketChannel ch) throws Exception {
  
                  if (useSSL) {
                      final SSLEngine engine = getSSLEngine();
                      engine.setEnabledCipherSuites(engine.getSupportedCipherSuites());
                      engine.setUseClientMode(false);
                      engine.setNeedClientAuth(false);
                      ch.pipeline().addLast("ssl", new SslHandler(engine));
                  }
  
                  ch.pipeline()
                          .addLast(new JNRPERequestDecoder(), new JNRPEResponseEncoder(), new JNRPEServerHandler(invoker, context))
                          .addLast("idleStateHandler", new IdleStateHandler(readTimeout, writeTimeout, 0))
                          .addLast(
                                  "jnrpeIdleStateHandler",
                                  new JNRPEIdleStateHandler(context));
              }
          }).option(ChannelOption.SO_BACKLOG, maxAcceptedConnections).childOption(ChannelOption.SO_KEEPALIVE, Boolean.TRUE);
  
          return serverBootstrap;
      }
docs: Creates and returns a configured NETTY ServerBootstrap object.
  
  @param useSSL
  <code>true</code> if SSL must be used.
  
  @return the server bootstrap object