docs: private Socket createSSLSocket(String host, int port, final String clientSSLConfigName) throws IOException {
          final SSLSocketFactory factory = getSocketFactory(clientSSLConfigName);
          SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
  
          socket.setSoTimeout(60 * 1000);
  
          // get a set of cipher suites appropriate for this connections requirements.
          // We request this for each connection, since the outgoing IOR's requirements may be different from
          // our server listener requirements.
          String[] iorSuites;
          try {
              iorSuites = (String[]) AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
                  @Override
                  public Object run() throws Exception {
                      return sslConfig.getCipherSuites(clientSSLConfigName, factory.getSupportedCipherSuites());
                  }
              });
          } catch (PrivilegedActionException pae) {
              throw new IOException("Could not configure client socket", pae.getCause());
          }
          socket.setEnabledCipherSuites(iorSuites);
          if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
              Tr.debug(tc, "Created SSL socket to " + host + ":" + port);
              Tr.debug(tc, "    cipher suites:");
  
              for (int i = 0; i < iorSuites.length; i++) {
                  Tr.debug(tc, "    " + iorSuites[i]);
              }
              socket.addHandshakeCompletedListener(new HandshakeCompletedListener() {
  
                  @Override
                  public void handshakeCompleted(HandshakeCompletedEvent handshakeCompletedEvent) {
                      Certificate[] certs = handshakeCompletedEvent.getLocalCertificates();
                      if (certs != null) {
                          Tr.debug(tc, "handshake returned local certs count: " + certs.length);
                          for (int i = 0; i < certs.length; i++) {
                              Certificate cert = certs[i];
                              Tr.debug(tc, "cert: " + cert.toString());
                          }
                      } else {
                          Tr.debug(tc, "handshake returned no local certs");
                      }
                  }
              });
          }
          return socket;
      }