static int extract(String scheme, int port, ClickHouseProtocol protocol, Map<String, String> params) {
        if (port < MIN_PORT_NUM || port > MAX_PORT_NUM) {
            port = MIN_PORT_NUM;
        }
        if (protocol != ClickHouseProtocol.POSTGRESQL && scheme.charAt(scheme.length() - 1) == 's') {
            params.putIfAbsent(ClickHouseClientOption.SSL.getKey(), Boolean.TRUE.toString());
            params.putIfAbsent(ClickHouseClientOption.SSL_MODE.getKey(), ClickHouseSslMode.STRICT.name());
        }

        if (protocol != ClickHouseProtocol.ANY && port == MIN_PORT_NUM) {
            if (Boolean.TRUE.toString().equals(params.get(ClickHouseClientOption.SSL.getKey()))) {
                port = protocol.getDefaultSecurePort();
            } else {
                port = protocol.getDefaultPort();
            }
        }
        return port;
    }
Creates a new node.

@return new node
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseNode.java