[575157] Retain lambda nullity defaults
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java
index 615de1d..a2332f3 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/CS2ASConversion.java
@@ -42,6 +42,7 @@
 import org.eclipse.ocl.pivot.ExpressionInOCL;
 import org.eclipse.ocl.pivot.InvalidLiteralExp;
 import org.eclipse.ocl.pivot.Iteration;
+import org.eclipse.ocl.pivot.LambdaType;
 import org.eclipse.ocl.pivot.LoopExp;
 import org.eclipse.ocl.pivot.MapType;
 import org.eclipse.ocl.pivot.Model;
@@ -1073,17 +1074,21 @@
 		Type pivotType = null;
 		boolean isRequired = false;
 		if (ownedType != null) {
+			boolean optionalDefaultMultiplicity2 = optionalDefaultMultiplicity;
 			pivotType = PivotUtil.getPivot(Type.class, ownedType);
 			int lower;
 			int upper;
-			if (pivotType instanceof MapType) {		// Ecore does not support collections of or null EMaps, so pivot Maps must also be 1..1
+			if (pivotType instanceof LambdaType) {			// The lambda exprssion is mandatory, for compatibility we propagate the return nullity
+				optionalDefaultMultiplicity2 = true;		// BUG
+			}
+			else if (pivotType instanceof MapType) {		// Ecore does not support collections of or null EMaps, so pivot Maps must also be 1..1
 				lower = 1;
 				upper = 1;
 				isRequired = true;
 			}
 			else {
 				MultiplicityCS csMultiplicity = ownedType.getOwnedMultiplicity();
-				if ((csMultiplicity == null) && !optionalDefaultMultiplicity){
+				if ((csMultiplicity == null) && !optionalDefaultMultiplicity2){
 					lower = 1;
 					upper = 1;
 					isRequired = true;