public Object substitute(Map<String, String> context, Properties substitution) {
        StringBuilder b = new StringBuilder();
        for (Component component : components)
            b.append(component.getValue(context, substitution));
        return b.toString();
    }
Perform the substitution in this, by looking up in the given properties,
and returns the resulting string

@param context the content which is used to resolve profile variants when looking up substitution values
@param substitution the properties in which values to be substituted are looked up
container-search/src/main/java/com/yahoo/search/query/profile/SubstituteString.java