hollow/src/main/java/com/netflix/hollow/tools/traverse/TransitiveSetTraverser.java
public static void addReferencingOutsideClosure(HollowReadStateEngine stateEngine, Map<String, BitSet> matches) {
        List<HollowSchema> orderedSchemas = HollowSchemaSorter.dependencyOrderedSchemaList(stateEngine);

        for(HollowSchema referencerSchema : orderedSchemas) {
            for(HollowSchema referencedSchema : orderedSchemas) {
                if(referencedSchema == referencerSchema)
                    break;

                if(matches.containsKey(referencedSchema.getName()) && matches.get(referencedSchema.getName()).cardinality() > 0)
                    traverseReferencesOutsideClosure(stateEngine, referencerSchema.getName(), referencedSchema.getName(), matches, ADD_REFERENCING_OUTSIDE_CLOSURE);
            }
        }
    }
public static void addReferencingOutsideClosure(HollowReadStateEngine stateEngine, Map<String, BitSet> matches) {
        List<HollowSchema> orderedSchemas = HollowSchemaSorter.dependencyOrderedSchemaList(stateEngine);

        for(HollowSchema referencerSchema : orderedSchemas) {
            for(HollowSchema referencedSchema : orderedSchemas) {
                if(referencedSchema == referencerSchema)
                    break;

                if(matches.containsKey(referencedSchema.getName()) && matches.get(referencedSchema.getName()).cardinality() > 0)
                    traverseReferencesOutsideClosure(stateEngine, referencerSchema.getName(), referencedSchema.getName(), matches, ADD_REFERENCING_OUTSIDE_CLOSURE);
            }
        }
    }
Augment the given selection with any records outside the selection which reference
(or transitively reference) any records in the selection.
@param stateEngine the state engine
@param matches the matches