[unrelated] Fixes from hhoyos/qvtr
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java
index d46a66e..a530fcc 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiModelManager.java
@@ -14,6 +14,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -29,9 +30,11 @@
 import org.eclipse.emf.ecore.xmi.XMLResource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.examples.domain.elements.DomainPackage;
 import org.eclipse.ocl.examples.domain.elements.DomainType;
 import org.eclipse.ocl.examples.domain.evaluation.DomainModelManager;
 import org.eclipse.ocl.examples.domain.utilities.DomainUtil;
+import org.eclipse.ocl.examples.pivot.Package;
 import org.eclipse.ocl.examples.pivot.ParserException;
 import org.eclipse.ocl.examples.pivot.PivotPackage;
 import org.eclipse.ocl.examples.pivot.Type;
@@ -59,7 +62,7 @@
 	private @NonNull Set<Type> allInstancesTypes;
 
 	/**
-	 * Array of caches for the unnavigable opposite of each used navigable middle to outer property. 
+	 * Array of caches for the un-navigable opposite of each used navigable middle to outer property. 
 	 * The array index is allocated by the QVTiTransformationAanaysis; it identifies the middle2outerProperty
 	 * of interest. Each cache is from outerObject to middleObject.
 	 */
@@ -123,7 +126,20 @@
 	}
 
 	public @NonNull Set<EObject> get(@NonNull DomainType type) {
-		throw new UnsupportedOperationException();
+		
+		Set<EObject> elements = new HashSet<EObject>();
+		// Find the typed model for the type
+		DomainPackage p = type.getPackage();
+		for (TypedModel d : modelResourceMap.keySet()) {
+			for (Package up : d.getUsedPackage()) {
+				if (up.equals(p)) {
+					for (Object o : getElementsByType(d, (Type) type)) {
+						elements.add((EObject) o);
+					}
+				}
+			}
+		}
+		return elements;
 	}
 
 	/**
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java
index f4e7015..3f12fe1 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTracingEvaluationVisitor.java
@@ -106,9 +106,11 @@
 				// Print the output model after each mapping
 				logger.info("==============================");
 				logger.info("Output Model");
-				TypedModel tm = ((Mapping)bottomPattern.getArea()).getDomain().get(0).getTypedModel();
-				for (EObject eo : ((QVTiModelManager)delegate.getModelManager()).getTypeModelEObjectList(tm)) {
-					logger.info(prettyPrintUnident(eo));
+				if (((Mapping)bottomPattern.getArea()).getDomain().size() > 0) {
+					TypedModel tm = ((Mapping)bottomPattern.getArea()).getDomain().get(0).getTypedModel();
+					for (EObject eo : ((QVTiModelManager)delegate.getModelManager()).getTypeModelEObjectList(tm)) {
+						logger.info(prettyPrintUnident(eo));
+					}
 				}
 				logger.info("==============================");
 			}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java
index 382fa2b..ff43c09 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiTransformationAnalysis.java
@@ -95,7 +95,23 @@
 						}
 					}
 				}
-			}
+			}/* This should have been analised by the OperationCallExp search....
+			else if (eObject instanceof MappingLoop) {
+				MappingLoop mappingLoop = (MappingLoop)eObject;
+				if (mappingLoop.getSource() instanceof OperationCallExp) {
+					OperationCallExp operationCallExp = (OperationCallExp) mappingLoop.getSource();
+					Operation referredOperation = operationCallExp.getReferredOperation();
+					if ((referredOperation != null) && (referredOperation.getOperationId() == allInstancesOperationId)) {
+						OCLExpression source = operationCallExp.getSource();
+						if (source != null) {
+							Type sourceType = source.getType();
+							if (sourceType != null) {
+								allInstancesTypes.add(sourceType);
+							}
+						}
+					}
+				}
+			}*/
 		}
 		//
 		//	Second pass