hollow/src/main/java/com/netflix/hollow/tools/combine/HollowCombinerExcludePrimaryKeysCopyDirector.java
public void excludeReferencedObjects() {
        Set<HollowReadStateEngine> stateEngines = new HashSet<HollowReadStateEngine>();
        for(Map.Entry<HollowTypeReadState, BitSet> entry : excludedOrdinals.entrySet())
            stateEngines.add(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());
        }
    }
public void excludeReferencedObjects() {
        Set<HollowReadStateEngine> stateEngines = new HashSet<HollowReadStateEngine>();
        for(Map.Entry<HollowTypeReadState, BitSet> entry : excludedOrdinals.entrySet())
            stateEngines.add(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.