code: public ServerSocketBar create(InetAddress host, int port)
      throws IOException, GeneralSecurityException
    {
      SSLServerSocketFactory ssFactory = null;
      
      if (_keyStore != null) {
        SSLContext sslContext = SSLContext.getInstance(_sslContext);
  
        KeyManagerFactory kmf
          = KeyManagerFactory.getInstance(keyManagerFactory());
      
        kmf.init(_keyStore, keyStorePassword().toCharArray());
        
        sslContext.init(kmf.getKeyManagers(), null, null);
  
        /*
        if (_cipherSuites != null)
          sslContext.createSSLEngine().setEnabledCipherSuites(_cipherSuites);
  
        if (_protocols != null)
          sslContext.createSSLEngine().setEnabledProtocols(_protocols);
        */
        
        SSLEngine engine = sslContext.createSSLEngine();
        
        engine.setEnabledProtocols(enabledProtocols(engine.getSupportedProtocols()));
  
        ssFactory = sslContext.getServerSocketFactory();
      }
      else {
        ssFactory = createAnonymousServerFactory(host, port);
      }
      
      ServerSocket serverSocket;
  
      int listen = 100;
  
      if (host == null)
        serverSocket = ssFactory.createServerSocket(port, listen);
      else
        serverSocket = ssFactory.createServerSocket(port, listen, host);
  
      SSLServerSocket sslServerSocket = (SSLServerSocket) serverSocket;
      
      if (_cipherSuites != null) {
        sslServerSocket.setEnabledCipherSuites(_cipherSuites);
      }
      
      if (_cipherSuitesForbidden != null) {
        String []cipherSuites = sslServerSocket.getEnabledCipherSuites();
        
        if (cipherSuites == null)
          cipherSuites = sslServerSocket.getSupportedCipherSuites();
        
        ArrayList<String> cipherList = new ArrayList<String>();
        
        for (String cipher : cipherSuites) {
          if (! isCipherForbidden(cipher, _cipherSuitesForbidden)) {
            cipherList.add(cipher);
          }
        }
        
        cipherSuites = new String[cipherList.size()];
        cipherList.toArray(cipherSuites);
        
        sslServerSocket.setEnabledCipherSuites(cipherSuites);
      }
  
      sslServerSocket.setEnabledProtocols(enabledProtocols(sslServerSocket.getSupportedProtocols()));
      
      if ("required".equals(_verifyClient))
        sslServerSocket.setNeedClientAuth(true);
      else if ("optional".equals(_verifyClient))
        sslServerSocket.setWantClientAuth(true);
  
      return new ServerSocketWrapper(serverSocket);
    }
docs: Creates the SSL ServerSocket.