public void set(String fieldName, DimensionValues dimensionValues, Object value) {
        ensureNotFrozen();

        // Update variant
        Object combinedValue = getVariant(dimensionValues, true).set(fieldName, value);

        // Update per-variable optimized structure
        FieldValues fieldValues = fieldValuesByName.get(fieldName);
        if (fieldValues == null) {
            fieldValues = new FieldValues();
            fieldValuesByName.put(fieldName, fieldValues);
        }

        if (combinedValue != null)
            fieldValues.put(dimensionValues, combinedValue);
    }
Sets a value to this

@param fieldName the name of the field to set. This cannot be a compound (dotted) name
@param dimensionValues the dimension values for which this value applies
@param value the value to set
container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileVariants.java