[unrelated] Fix interpreted mapping call environment nesting
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitor.java
index 193fe39..36abaf6 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitor.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtimperative/src/org/eclipse/qvtd/pivot/qvtimperative/evaluation/QVTiEvaluationVisitor.java
@@ -10,7 +10,9 @@
  ******************************************************************************/
 package org.eclipse.qvtd.pivot.qvtimperative.evaluation;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jdt.annotation.NonNull;
@@ -144,6 +146,7 @@
 
 	@Override
 	public @Nullable Object visitMappingCall(@NonNull MappingCall mappingCall) {
+		Map<Variable, Object> variable2value = new HashMap<Variable, Object>();
 		for (MappingCallBinding binding : mappingCall.getBinding()) {
 			Variable boundVariable = binding.getBoundVariable();
 			if (boundVariable == null) {
@@ -160,13 +163,22 @@
 			Object valueOrValues = value.accept(undecoratedVisitor);
 			Type valueType = idResolver.getDynamicTypeOf(valueOrValues);
 			if (valueType.conformsTo(standardLibrary, varType)) {
-				context.replace(boundVariable, valueOrValues);
+				variable2value.put(boundVariable, valueOrValues);
 			}
 			else {
 				return null;		
 			}
     	}
-		return executor.internalExecuteMappingCall(mappingCall, undecoratedVisitor);
+		context.pushEvaluationEnvironment(mappingCall.getReferredMapping(), mappingCall);
+		try {
+			for (Map.Entry<Variable,Object> entry : variable2value.entrySet()) {
+				context.replace(entry.getKey(), entry.getValue());
+			}
+			return executor.internalExecuteMappingCall(mappingCall, undecoratedVisitor);
+		}
+		finally {
+			context.popEvaluationEnvironment();
+		}
     }
 
 	@Override