public void apply(StringBuilder builder, Object param, Object... more) {
        if (!hasParameter()) {
            builder.append(originalQuery);
            return;
        }

        int len = more == null ? 0 : more.length;
        Map<String, String> map = new HashMap<>();
        int index = -1;
        for (Entry<String, ClickHouseValue> e : names.entrySet()) {
            ClickHouseValue v = e.getValue();
            if (index < 0) {
                map.put(e.getKey(),
                        v != null ? v.update(param).toSqlExpression() : ClickHouseValues.convertToSqlExpression(param));
            } else if (index < len) {
                map.put(e.getKey(), v != null ? v.update(more[index]).toSqlExpression() // NOSONAR
                        : ClickHouseValues.convertToSqlExpression(more[index])); // NOSONAR
            } else {
                break;
            }
            index++;
        }

        apply(builder, map);
    }
Applies raw parameters to the given string builder.
{@link ClickHouseValues#convertToSqlExpression(Object)} will be used to
stringify the parameters.

@param builder non-null string builder
@param param   raw parameter
@param more    more raw parameters if any
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseParameterizedQuery.java