public Map<String, Object> listValues(CompoundName prefix, Map<String, String> context, Properties substitution) {
        Map<String, Object> values = new HashMap<>();
        for (Map.Entry<CompoundName, DimensionalValue<ValueWithSource>> entry : entries.entrySet()) {
            if ( ! entry.getKey().hasPrefix(prefix)) continue;

            ValueWithSource valueWithSource = entry.getValue().get(context);
            if (valueWithSource == null) continue;

            Object value = valueWithSource.value();
            if (value == null) continue;

            value = substitute(value, context, substitution);
            CompoundName suffixName = entry.getKey().rest(prefix.size());
            values.put(suffixName.toString(), value);
        }
        return values;
    }
Adds all objects that start with the given path prefix to the given value map. Use "" to list all.
<p>
For example, if {a.d =&gt; "a.d-value" ,a.e =&gt; "a.e-value", b.d =&gt; "b.d-value", then calling listValues("a")
will return {"d" =&gt; "a.d-value","e" =&gt; "a.e-value"}
container-search/src/main/java/com/yahoo/search/query/profile/compiled/CompiledQueryProfile.java