@SuppressWarnings("unchecked")
    public SelfT params(ClickHouseValue[] values) {
        checkSealed();

        namedParameters.clear();

        if (values != null && values.length > 0) {
            List<String> names = getPreparedQuery().getParameters();
            int size = names.size();
            int index = 0;
            for (ClickHouseValue v : values) {
                namedParameters.put(names.get(index), v != null ? v.toSqlExpression() : ClickHouseValues.NULL_EXPR);
                if (++index >= size) {
                    break;
                }
            }
        }

        resetCache();

        return (SelfT) this;
    }
Sets parameters wrapped by {@link ClickHouseValue}. Safer but a bit slower
than {@link #params(String, String...)}. Consider to reuse ClickHouseValue
object and its update methods for less overhead in batch processing.

@param values parameters
@return the request itself
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseRequest.java