[unrelated] Dipspose of rather than wait for stale OCL
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
index a4c3f56..85a235f 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
@@ -348,7 +348,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		URI txURI2 = getTestURI("Families2Persons_CG.qvtras");
 		MyQVT myQVT2 = createQVT("ATL2QVTr", txURI1);
 		//		MyQVT myQVT2 = new MyQVT(createTestProjectManager(), getTestBundleURI(), "models/families2persons", null);
@@ -373,7 +373,7 @@
 			myQVT2.dispose();
 			myQVT2 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		Class<? extends Transformer> txClass3;
 		MyQVT myQVT3 = createQVT("Families2Persons", txURI2);
 		// Avoid the Java files being deleted, and add their classPath since we will compile them again Ugh! use different packge prefix
@@ -399,7 +399,7 @@
 			myQVT3.dispose();
 			myQVT3 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT4 = createQVT("Families2Persons", txURI2);
 		try {
 			myQVT4.loadEPackage(txClass3, "Families.FamiliesPackage");
@@ -608,7 +608,7 @@
 			myQVT2.dispose();
 			myQVT2 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		Class<? extends Transformer> txClass3;
 		MyQVT myQVT3 = createQVT("Families2Persons", txURI2);
 		//		MyQVT myQVT3 = new MyQVT(createTestProjectManager(), getTestBundleURI(), "models/families2persons", "samples");
@@ -626,7 +626,7 @@
 			myQVT3.dispose();
 			myQVT3 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT4 = createQVT("Families2Persons", txURI2);
 		try {
 			myQVT4.loadEPackage(txClass3, "Families.FamiliesPackage");
@@ -895,7 +895,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		URI asURI2a = getTestURI("Families2.ecore.oclas");
 		URI ecoreURI = getModelsURI("ecore2pivotRoot/Families.ecore");
 		OCL ocl = OCL.newInstance(projectManager);
@@ -917,7 +917,7 @@
 			ocl.dispose();
 			ocl = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		//
 		URI asURI2 = getTestURI("Families.ecore.oclas");
 		MyQVT myQVT2 = createQVT("Ecore2PivotRoot", txURI1);
@@ -966,7 +966,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("Families2Persons", getModelsURI("families2persons/Families2Persons_expected.qvtras"));
 		try {
 			myQVT2.loadEPackage(txClass, "Families.FamiliesPackage");
@@ -1109,7 +1109,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("Forward2Reverse", getModelsURI("forward2reverse/Forward2Reverse.qvtr"));
 		try {
 			myQVT2.loadEPackage(txClass, "doublylinkedlist.doublylinkedlistPackage");
@@ -1230,7 +1230,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("HierarchicalStateMachine2FlatStateMachine", txFile.getURI());
 		try {
 			myQVT2.loadEPackage(txClass, "FlatStateMachine.FlatStateMachinePackage");
@@ -1287,7 +1287,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("HierarchicalStateMachine2FlatStateMachine", getModelsURI("hstm2fstm/HierarchicalStateMachine2FlatStateMachine.qvtr"));
 		try {
 			myQVT2.loadEPackage(txClass, "FlatStateMachine.FlatStateMachinePackage");
@@ -1344,7 +1344,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("HierarchicalStateMachine2FlatStateMachine", txFile.getURI());
 		try {
 			myQVT2.loadEPackage(txClass, "FlatStateMachine.FlatStateMachinePackage");
@@ -1406,7 +1406,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("Iterated2Iterated", getModelsURI("Iterated2Iterated/Iterated2Iterated.qvtr"));
 		try {
 			myQVT2.loadEPackage(txClass, "iterated.iteratedPackage");
@@ -1461,7 +1461,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("MiToSiSimple", txFile.getURI());
 		try {
 			myQVT2.loadEPackage(txClass, "javammsi.javammsiPackage");
@@ -1529,7 +1529,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("MiToSiSimple", txFile.getURI());
 		try {
 			myQVT2.loadEPackage(txClass, "javammsi.javammsiPackage");
@@ -1580,7 +1580,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("SeqToStm", getModelsURI("partialPhilosophers/PartialPhilosophers.qvtr"));
 		try {
 			//	myQVT2.loadEPackage(txClass, "SeqMM.SeqMMPackage");
@@ -1610,7 +1610,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("Persons2Families", getModelsURI("persons2families/Persons2Families.qvtr"));
 		try {
 			Map<String, Object> extensionToFactoryMap = myQVT2.getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap();
@@ -1712,7 +1712,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("Persons2Names2Families", txFile.getURI());
 		try {
 			Map<String, Object> extensionToFactoryMap = myQVT2.getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap();
@@ -1830,7 +1830,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("SeqToStm", getModelsURI("seq2stm/SeqToStm.qvtr"));
 		try {
 			myQVT2.loadEPackage(txClass, "SeqMM.SeqMMPackage");
@@ -1869,7 +1869,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("SeqToStm", getModelsURI("seq2stm/SeqToStm.qvtr"));
 		try {
 			myQVT2.loadEPackage(txClass, "SeqMM.SeqMMPackage");
@@ -1918,7 +1918,7 @@
 			myQVT1.dispose();
 			myQVT1 = null;
 		}
-		ThreadLocalExecutor.waitForGC();
+		ThreadLocalExecutor.resetEnvironmentFactory();
 		MyQVT myQVT2 = createQVT("TinyIsomorph", getModelsURI("tinyisomorph/TinyIsomorph.qvtr"));
 		try {
 			myQVT2.loadEPackage(txClass, "mma.mmaPackage");