@Override
    public void setClientInfo(Properties properties) throws SQLClientInfoException {
        Set<String> toSet = new HashSet<>();
        Set<String> toReset = new HashSet<>();
        for (ClientInfoProperties p : ClientInfoProperties .values()) {
            String key = p.getKey();
            if (properties.containsKey(key)) {
                toSet.add(key);
            } else {
                toReset.add(key);
            }
        }

        // first we reset value
        for (String key : toReset) {
            setClientInfo(key, null);
        }

        // then we set value, so aliases will not clean values accidentally
        for (String key : toSet) {
            setClientInfo(key, properties.getProperty(key));
        }
    }
Returns configuration for current connection. Changes made to the instance of configuration may have side effects.
Application should avoid making changes to this object until it is documented.
@return - reference to internal instance of JdbcConfiguration
jdbc-v2/src/main/java/com/clickhouse/jdbc/ConnectionImpl.java