[releng] Revert changes requiring post M3 OCL
diff --git a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/model/HierarchicalStateMachine2FlatStateMachine.qvtr b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/model/HierarchicalStateMachine2FlatStateMachine.qvtr
index 008e8d7..77bacfa 100644
--- a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/model/HierarchicalStateMachine2FlatStateMachine.qvtr
+++ b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/model/HierarchicalStateMachine2FlatStateMachine.qvtr
@@ -27,7 +27,7 @@
 	 * Return the leafStates of a given hierarchicalState.
 	 */
 	query getLeafStates(hierarchicalState : hierMM::State[1]) : Set(hierMM::State) {
-		hierarchicalState->closure(nestedStates)->select(nestedStates->isEmpty())
+		hierarchicalState->closure(nestedStates)?->select(nestedStates->isEmpty())
 	}
 
 	/**
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseEnvironmentFactory.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseEnvironmentFactory.java
index 7af457e..5f776ef 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseEnvironmentFactory.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseEnvironmentFactory.java
@@ -15,11 +15,11 @@
 import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.ocl.pivot.Type;
 import org.eclipse.ocl.pivot.internal.manager.TemplateParameterSubstitutionVisitor;
-import org.eclipse.ocl.pivot.internal.utilities.PivotEnvironmentFactory;
 import org.eclipse.ocl.pivot.resource.ProjectManager;
+import org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory;
 import org.eclipse.qvtd.pivot.qvtbase.model.QVTbaseLibrary;
 
-public class QVTbaseEnvironmentFactory extends PivotEnvironmentFactory
+public class QVTbaseEnvironmentFactory extends AbstractEnvironmentFactory
 {
 	public static abstract class CreateStrategy
 	{
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/hstm2fstm/HierarchicalStateMachine2FlatStateMachine.qvtr b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/hstm2fstm/HierarchicalStateMachine2FlatStateMachine.qvtr
index c15116f..d48cb01 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/hstm2fstm/HierarchicalStateMachine2FlatStateMachine.qvtr
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/hstm2fstm/HierarchicalStateMachine2FlatStateMachine.qvtr
@@ -28,7 +28,7 @@
 		 * Return the leafStates of a given hierarchicalState.
 		 */
 		query getLeafStates(hierarchicalState : hierMM::State[1]) : Set(hierMM::State) {
-			hierarchicalState->closure(nestedStates)->select(nestedStates->isEmpty())
+			hierarchicalState->closure(nestedStates)?->select(nestedStates->isEmpty())
 		}
 
 		/**
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/mitosi/MiToSiSimple.qvtr b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/mitosi/MiToSiSimple.qvtr
index d2744b5..af1a3d0 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/mitosi/MiToSiSimple.qvtr
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/models/mitosi/MiToSiSimple.qvtr
@@ -26,7 +26,7 @@
 	 * Return true if this class or a transitive super-class is marked as DomainRoot. 
 	 */
 	 query isClass(c : umlmmmi::Class) : Boolean {
-		c.oclAsSet()->closure(supers)->exists(v : umlmmmi::Class[1] | v.type = 'DomainRoot')		
+		c->closure(supers)->exists(type = 'DomainRoot')		
 	}
 
 	/**