private HashMap<Data, Data> getChildToParentMap(List<Data> allModelEntities,long dataIterationRun) { HashMap<Data, Data> result = new HashMap<>(); for (Data factoryBase : allModelEntities) { factoryBase.visitDataChildrenFlat(child->result.put(child, factoryBase),dataIterationRun); } return result; }
void collectModelEntitiesTo(List<Data> allModelEntities, long dataIterationRun) { allModelEntities.add(this); visitDataChildrenFlat(child -> child.collectModelEntitiesTo(allModelEntities,dataIterationRun),dataIterationRun); }
private void addBackReferences(final Data root, final Data parent, long dataIterationRun){ addParent(parent); this.root=root; getDataDictionary().addBackReferencesToAttributes(this,root); this.visitDataChildrenFlat(data -> data.addBackReferences(root, Data.this,dataIterationRun),dataIterationRun); }