public void excludeReferencedObjects ( ) { Set < HollowReadStateEngine > stateEngines = new HashSet < HollowReadStateEngine > ( ) ; for ( Map . Entry < HollowTypeReadState , BitSet > entry : excludedOrdinals . entrySet ( ) ) stateEngines . ( entry . getKey ( ) . getStateEngine ( ) ) ; for ( HollowReadStateEngine stateEngine : stateEngines ) { Map < String , BitSet > typeBitSetsForStateEngine = new HashMap < String , BitSet > ( ) ; for ( Map . Entry < HollowTypeReadState , BitSet > entry : excludedOrdinals . entrySet ( ) ) { if ( entry . getKey ( ) . getStateEngine ( ) == stateEngine ) { String type = entry . getKey ( ) . getSchema ( ) . getName ( ) ; typeBitSetsForStateEngine . put ( type , BitSet . valueOf ( entry . getValue ( ) . toLongArray ( ) ) ) ; } } TransitiveSetTraverser . addTransitiveMatches ( stateEngine , typeBitSetsForStateEngine ) ; for ( Map . Entry < String , BitSet > entry : typeBitSetsForStateEngine . entrySet ( ) ) excludedOrdinals . put ( stateEngine . getTypeState ( entry . getKey ( ) ) , entry . getValue ( ) ) ; } }
Exclude any objects which are referenced by excluded objects .