[ocl2qvti] - Fixing the unnecessary mapping creation for inner
ShadowExps
diff --git a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/etl/ocl2qvtp_v2.etl b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/etl/ocl2qvtp_v2.etl
index 067c9ea..3c81efa 100644
--- a/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/etl/ocl2qvtp_v2.etl
+++ b/plugins/org.eclipse.qvtd.cs2as.compiler/src/org/eclipse/qvtd/cs2as/compiler/internal/etl/ocl2qvtp_v2.etl
@@ -58,10 +58,13 @@
 	to t : QVTi!Mapping {
 	
 	guard {
+		var containers = s.closure(x|x.eContainer());
+		return  not containers.exists(x | x.isKindOf(OCL!ShadowExp)) -- innerShadowExps dont produce creation mappings
+		and 
 		// FIXME this is hazardy. Rework
 		// Ideally lazy transformation on the content of the OCL Model should avoid calling
 		// this rule on undesired elemenets (imported from other ocl files)
-		return s.closure(x|x.eContainer()).contains(LEFTCS_PACKAGE); 
+		containers.contains(LEFTCS_PACKAGE); 
 	}
 	
 	t.name = s.getCreationMappingName();