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);
            }
        }
    }
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
Augment the given selection with any records outside the selection which reference ( or transitively reference ) any records in the selection .