@SuppressWarnings("unchecked")
    public <T extends Serializable> T getOption(ClickHouseOption option, Class<T> valueType) {
        if (ClickHouseChecker.nonNull(option, PARAM_OPTION).getValueType() != ClickHouseChecker.nonNull(valueType,
                "valueType")) {
            throw new IllegalArgumentException(
                    "Cannot convert value from type " + option.getValueType() + " to " + valueType);
        }

        T value = (T) options.get(option);
        return value != null ? value : (T) option.getEffectiveDefaultValue();
    }
Gets typed option value. {@link ClickHouseOption#getEffectiveDefaultValue}
will be called when the option is undefined.

@param <T>       type of option value, must be serializable
@param option    non-null option to lookup
@param valueType non-null type of option value, must be serializable
@return typed value
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseConfig.java