@Override
        public boolean equals(Object o) {
            if ( o == this ) return true;
            if ( ! (o instanceof DimensionBindingForPath)) return false;
            DimensionBindingForPath other = (DimensionBindingForPath)o;
            return other.binding.equals(this.binding) && other.path.equals(this.path);
        }
Generates a set of all the (legal) combinations of the variants in the given sets
container-search/src/main/java/com/yahoo/search/query/profile/QueryProfileCompiler.java