public Map<String, Object> listProperties(CompoundName path, Map<String, String> context, Properties substitution) {
        if (path == null)
            path = CompoundName.empty;
        if (chained() == null)
            return new HashMap<>();
        else
            return chained().listProperties(path, context, substitution);
    }
Returns a snapshot of all properties of this having a given path prefix
Some sources of properties may not be list-able and will not be included in this snapshot.

@param path         the prefix (up to a ".") of the properties to return, or null or the empty string
                    to return all properties
@param context      the context used to resolve the properties, or null if none
@param substitution the properties which will be used to do string substitution in the values added to the map
container-core/src/main/java/com/yahoo/processing/request/Properties.java