docs: public Socket createSocket(
          final String host,
          final int port,
          final InetAddress localAddress,
          final int localPort,
          final HttpConnectionParams params
      ) throws IOException, UnknownHostException, ConnectTimeoutException {
          if (params == null) {
              throw new IllegalArgumentException("Parameters may not be null");
          }
          int timeout = params.getConnectionTimeout();
          if (timeout == 0) {
              return createSocket(host, port);
          } else {
              // To be eventually deprecated when migrated to Java 1.4 or above
              Socket socket = ReflectionSocketFactory.createSocket(
                  "javax.net.ssl.SSLSocketFactory", host, port, null, 0, timeout);
              if (socket == null) {
                  socket = ControllerThreadSocketFactory.createSocket(
                      this, host, port, null, 0, timeout);
              }
              return socket;
          }
      }