GeneratorReactor.linkOriginalGenerator() should be stateless
[mdsal.git] / binding / mdsal-binding-generator / src / main / java / org / opendaylight / mdsal / binding / generator / impl / reactor / GeneratorReactor.java
index c48aa4e2dc2e66f5fd7073dfdc11e39d2b5f27ff..db6080c3122468814576fbdcba8d649caf0058a2 100644 (file)
@@ -333,26 +333,24 @@ public final class GeneratorReactor extends GeneratorContext implements Mutable
         }
     }
 
-    private void linkDependencies(final Iterable<? extends Generator> parent) {
+    private static void linkOriginalGenerator(final Iterable<? extends Generator> parent) {
         for (Generator child : parent) {
-            if (child instanceof AbstractDependentGenerator) {
-                ((AbstractDependentGenerator<?>) child).linkDependencies(this);
-            } else if (child instanceof AbstractCompositeGenerator) {
-                stack.push(child);
-                linkDependencies(child);
-                stack.pop();
+            if (child instanceof AbstractExplicitGenerator) {
+                ((AbstractExplicitGenerator<?>) child).linkOriginalGenerator();
+            }
+            if (child instanceof AbstractCompositeGenerator) {
+                linkOriginalGenerator(child);
             }
         }
     }
 
-    private void linkOriginalGenerator(final Iterable<? extends Generator> parent) {
+    private void linkDependencies(final Iterable<? extends Generator> parent) {
         for (Generator child : parent) {
-            if (child instanceof AbstractExplicitGenerator) {
-                ((AbstractExplicitGenerator<?>) child).linkOriginalGenerator(this);
-            }
-            if (child instanceof AbstractCompositeGenerator) {
+            if (child instanceof AbstractDependentGenerator) {
+                ((AbstractDependentGenerator<?>) child).linkDependencies(this);
+            } else if (child instanceof AbstractCompositeGenerator) {
                 stack.push(child);
-                linkOriginalGenerator(child);
+                linkDependencies(child);
                 stack.pop();
             }
         }