--- /dev/null
+package org.simantics.graph.compiler.internal.procedures;\r
+\r
+import org.simantics.graph.store.GraphStore;\r
+import org.simantics.graph.store.IdentityStore;\r
+\r
+public class PropagateNewMarks implements Runnable {\r
+ IdentityStore identities;\r
+\r
+ public PropagateNewMarks(GraphStore store) {\r
+ this.identities = store.identities;\r
+ }\r
+\r
+ private void propagateNewMarks(int resource) {\r
+ for(int child : identities.getChildren(resource))\r
+ if(identities.markNew(child))\r
+ propagateNewMarks(child);\r
+ }\r
+ \r
+ @Override\r
+ public void run() {\r
+ for(int resource : identities.getNewResources())\r
+ propagateNewMarks(resource); \r
+ }\r
+}\r